原文: http://bioinfo.lifl.fr/mreps//mini_tuto.php
一个序列重复(串联重复,周期)是一个连续重复的字符串 。例如 , ataata是一个重复 ( ata重复了两次 )。 gggg是另一个重复 ( g重复了四次 )。 acaca也是一个重复 ( ac重复了两次加半次 )。 就像最后的示例显示的那样 ,重复的单元数不需要是整数 ,它可以是分数 。
重复字符串的长度被称为重复的周期,重复单元数 ( 等义地说,整个序列的长度与周期的比例 ) 被称作指数。因此 , acaca 的周期和指数分别2是和2.5 。
思考字符串ctattatatg 。它包含的重复之一是 tata 。然而 ,将右边立即出现的 核苷酸t包含在其中是自然的,并且考虑重复 tatat 。这就是最大重复的概念 :在不 “ 打破周期 ”的情况下,在一个给定的字符串里出现的尽可能多地向左/右扩展的重复。
如果分辨率没有被指定, mreps寻找材料字符串中所有的精确的最大重复 (依据 [1] 中描述的算法) 。例如 ,运行
mreps -s gcctatttatttatttggt
产生如下包含在gcctatttatttatttggt中的最大重复:
from -> to : size <per.> [exp.] err-rate sequence
---------------------------------------------------------------------------------------------
4 -> 16 : 13 <4> [3.25] 0.000 tatt tatt tatt t
---------------------------------------------------------------------------------------------
RESULTS: There is 1 repeat in the processed sequence
形式上,在这个序列中有其它的最大重复 (例如 ttt ) ,但是是 mreps不输出它们 ,因为它们太短了 ,并且 被认为是“偶然出现的”。然而 , mreps有一个特殊的-allowsmall选项来阻止将短的 统计上的无意义重复 过滤掉 。
mreps不仅可以寻找 精确 的重复,也能寻找 近似的重复 ,这是DNA分析的一个必需特性 。要让 mreps计算近似的重复 ,用户需要指定 分辨率参数 。
为了计算近似的重复,mreps根据在 [2] 中描述的算法来计算所谓的 k - 不匹配串联重复的交叠 。那些是在两个相邻周期之间允许有最多 k 个不匹配的重复 。 接下来,这些结构被以“原始材料”的方式使用,并且被进一步处理,以获得重复序列的更与生物学相关的表示,尤其是去掉冗余以及过滤掉 在统计 学上无意义 的重复序列 。
这是一个mreps输出的例子:
> mreps -res 1 -s gggctaagtttgagtttaagaa
from -> to : size <per.> [exp.] err-rate sequence
---------------------------------------------------------------------------------------------
5 -> 20 : 16 <6> [2.67] 0.100 taagtt tgagtt taag
---------------------------------------------------------------------------------------------
RESULTS: There is 1 repeat in the processed sequence
分辨率这个参数(上面例子中的 -res )指定 mreps 能够找到的重复序列的 “模糊程度” 。分辨率越大 ,就能计算越是退化的重复序列 。当分辨率 被增加时,新的退化的重复序列就能 被计算,同时,针对小一些的分辨率计算的重复序列仍然能 被找到,但是可能会 被扩展为更长的序列。实际上 ,程序对直到用户指定的分辨率的所有 值进行循环,并且收集每次迭代所找到的所有重复序列 。当然 , “代价”就是执行时间 ,增大分辨率时 ,执行时间变长。
实际过程中, “好的”分辨率的值取决于用户感兴趣的周期。对于小的周期 (直到10-15),分辨率为5 通常就足够找到所有有意义的重复序列;对于大一些的周期 ,可以增大分辨率直到50或者别的数。
mreps使用的重复序列的“质量的度量”,是错误率 ,它是不匹配的个数与整个重复序列的长度减去周期所得的差的比值 。当两个相距 p (周期)的字母不相同时,一个不匹配就被计数,例外是 ,如果右边 p 个位置的字母与左边 p 个位置的字母相同,那么这两个不匹配被计数为一个。例如 ,上 文提到的重复序列 taagtt tgagtt taag 被认为只有一个错误,尽管它有两对不匹配的字母 :在位置8的 g同时与位置2的a和位置14的a不匹配 。这就是它的错误率是1/(16-6)=0.1的原因 。
默认地, mreps不输出那些 被认为是“无意义”的重复序列,也就是说 ,那些很可能是在一个 “随机DNA序 列”里面出现的序列。有 两个导致重复序列成为“无意义的”的原因。一个是因为它的小的长度 ,另一个是因为它的 “差的质量”,也就是说 ,高的错误率。这是为什么mreps有 两个不同的意义过滤器的原因--一个 长度过滤器用来抑制短的重复序列,以及一个 质量过滤器用来抑制有高的错误率的重复序列。然而 ,某些情形下,用户可能需要短的重复序列也出现在输出中。为了这个目的 ,存在 -allowsmall选项,它会关掉长度过滤器(然而 ,质量过滤器还是会被使用 )。
•. 格式 : ‘-fasta’选项允许以FASTA格式来表示DNA序列
•. 分辨率 :会被报告的重复序列的“模糊程度”
•. 允许短序列 :输出包括短的序列在内的所有长度的重复序列
•. 最短长度 :会被报告的重复序列的最短长度
•. 最长长度 :会被报告的重复序列的最长长度
•. 最短周期 : 会 被报告的重复序列的最短周期
•. 最长周期 : 会 被报告的重复序列的最长周期
•. 指数 : 会 被报告的重复序列的最小指数
•. 起始 :要处理的序列在片段中的起始位置
•. 终止 :要处理的序列在片段中的终止位置
•. 窗口:滑动窗口的大小
HxLauncher: Launch Android applications by voice commands